package models

type LoginRequest struct {
	Username string `json:"username" binding:"required"`
	Password string `json:"password" binding:"required"`
}

type LoginResponse struct {
	Token   string `json:"token"`
	Success bool   `json:"success"`
	Message string `json:"message"`
}

type ServiceInfo struct {
	Name string   `json:"name"`
	Tags []string `json:"tags"`
}

type ServiceInstance struct {
	ServiceID   string   `json:"ServiceID"`
	ServiceTags []string `json:"ServiceTags"`
}

type ServiceRequest struct {
	ID      string            `json:"id"`
	Name    string            `json:"name"`
	Address string            `json:"address"`
	Port    int               `json:"port"`
	Tags    []string          `json:"tags"`
	Meta    map[string]string `json:"meta"`
	Check   *CheckInfo        `json:"check,omitempty"`
}

type CheckInfo struct {
	HTTP     string `json:"http,omitempty"`
	Interval string `json:"interval,omitempty"`
	Timeout  string `json:"timeout,omitempty"`
}
